const User = require('../model/use.model')

class UserService{
    async createUser(user_name,password){
        // 插入数据
        // User.create返回一个promise对象
        const res = await User.create({user_name,password})

        return res.dataValues
    }

    async getUserInfo({ id, user_name, password, is_admin }){
        const whereOpt = {}

        id && Object.assign(whereOpt, {id})
        user_name && Object.assign(whereOpt, {user_name})
        password && Object.assign(whereOpt, {password})
        is_admin && Object.assign(whereOpt, {is_admin})

        const res = await User.findOne({
            attributes: ['id','user_name','password','is_admin'],
            where: whereOpt,
        })

        return res ? res.dataValues : null 
    }

    async updateById({id, user_name, password, is_admin}){
        const whereOpt = {id}
        let newUser = {}

        user_name && Object.assign(newUser, {user_name})
        password && Object.assign(newUser, {password})
        is_admin && Object.assign(newUser, {is_admin})

        console.log(newUser)
    
        const res = await User.update(newUser, {where: whereOpt})

        console.log(res)
        return !!res[0]
    }

}

module.exports = new UserService